package com.backend.demo.util;

/**
 * 线性安全,只能设置一次的对象,如果设置第二次会返回false,不起作用
 * 
 * @author 陈兴吉
 * @date 2008-12-11
 */
public class AtomicFinalObject<T> {
	// 是否已初始化
	private boolean isInitiated = false;
	private T value;

	public T get() {
		return value;
	}

	public synchronized boolean set(T value) {
		if (isInitiated) {
			// 只能设置一次,
			return false;
		}
		this.value = value;
		isInitiated = true;
		return true;
	}

}
